package com.sy.service;

import com.sy.entity.Teacher;
import com.sy.vo.TeacherPagingVo;

import java.util.List;

/**
 * @Author:范富强
 * @Date: 2021/10/11 0011 19:02
 */
public interface TeacherService {
    /**
     * @param tno 工号
     * @return 单个教师信息
     * @Author:fma 根据工号查询教师
     */
    Teacher getTeacherByTno(Integer tno);

    /**
     * @return 老师数量
     * @Author:zhf 查询教师数量
     */
    Integer getTeachersNum();

    /**
     * @param teacherPagingVo
     * @return 老师信息
     * @Author:zhf 查询所有教师信息分页
     */
    List<Teacher> getAllTeachers(TeacherPagingVo teacherPagingVo);

    /**
     * @param teacherPagingVo
     * @return 老师信息
     * @Author:zhf 通过教师姓名或工号查询教师信息分页
     */
    List<Teacher> getAllTeachersByTeacherNameOrTno(TeacherPagingVo teacherPagingVo);

    /**
     * @param teacherNameOrTno
     * @return 教师数量
     * @Author:zhf 通过教师姓名或工号查询教师数量
     */
    Integer getTeacherNumByTeacherNameOrTno(String teacherNameOrTno);

    /**
     * @param id 教师主键id
     * @return 教师数量
     * @Author:zhf 通过教师姓名或工号查询教师数量
     */
    Boolean delTeacherById(Integer id);

    /**
     * 修改教师信息
     *
     * @param teacher
     * @return 是否成功
     * @Author:zhf
     */
    Boolean redactTeacher(Teacher teacher);

    /**
     * 添加教师信息
     *
     * @param teacher
     * @return 是否成功
     * @Author:zhf
     */
    Boolean addTeacher(Teacher teacher);

    /**
     * @Author:fma
     * 模糊查询该教师的所有信息
     * @param teacherName 模糊教师名字
     * @return 模糊查询的该老师信息
     */
    List<Integer> getTeacherByLikeName(String teacherName);

    /**
     * @Author:cxl
     * 获取所有老师信息
     * @return
     */
    List<Teacher> getAllTeacherInfo();
}
